package com.hyx.api.service;

import com.hyx.api.domain.bo.CompanyBo;
import com.hyx.api.domain.bo.MsgDialogueOrderBo;
import com.hyx.api.domain.bo.ShopRecOrderQueBo;
import com.hyx.api.domain.bo.UserBo;
import com.hyx.api.domain.bo.WithdrawReqBo;
import com.hyx.api.domain.vo.RecycleWorkStatisticVo;
import com.hyx.api.domain.vo.ShopOrderListVo;
import com.ruoyi.common.core.domain.AjaxResult;
import org.aspectj.weaver.loadtime.Aj;

import java.util.List;

public interface IAppCommonService {

    /**
     * 创建子账户
     *
     * @param bo
     * @return
     */
    AjaxResult createUser(UserBo bo);

    /**
     * 创建门店
     *
     * @param bo
     * @return
     */
    AjaxResult createShop(CompanyBo bo);


    /*获取门店和店员列表*/
    AjaxResult queryStoreAndClerkList();

    /**
     * 获取报价师列表
     */
    AjaxResult queryOfferList();

    /**
     * 设置店长
     */
    AjaxResult updateUserStore(Long id);

    /**
     * 发送订单消息
     *
     * @param bo
     * @return
     */
    AjaxResult sendOrderMsg(MsgDialogueOrderBo bo);

    /**
     * 读取订单消息
     *
     * @param ids
     * @return
     */
    AjaxResult readMsgOrder(List<Long> ids);

    /**
     * 确认支付接口
     *
     * @param orderId
     * @return
     */
    AjaxResult confirmPay(Long orderId);

    /**
     * 客户提现
     *
     * @param reqBo
     * @return
     */
    AjaxResult withdraw(WithdrawReqBo reqBo);

    /**
     * 获取回收订单列表
     *
     * @param req
     * @return
     */
    List<ShopOrderListVo> queryRecycleOrderList(ShopRecOrderQueBo req);

    /**
     * 获取货物跟踪相关列表
     *
     * @param queType 1：待发货
     *                2：超时
     * @return
     */
    List<ShopOrderListVo> queryGoodsTrackList(Integer queType);

    /**
     * 更新全国行政区信息
     *
     * @return
     */
    AjaxResult updateRegionInfo();

    /**
     * 行政区等级
     * province：省
     * city：市
     * district：区
     *
     * @param level
     * @return
     */
    AjaxResult queryAreaListByType(String level);
}
